﻿/**
 * Peter
 * Created by: Peter Development Team
 *    http://peter.codeplex.com/
 * 
 * GNU General Public License version 2 (GPLv2)
 *    http://peter.codeplex.com/license
 **/
namespace Peter.Common.Interfaces
{
   /// <summary>
   /// Common properties and methods for options.
   /// </summary>
   public interface IOption
   {
      /// <summary>
      /// Gets the name of the option data.
      /// </summary>
      string Name { get; }

      /// <summary>
      /// Loads the data from xml.
      /// </summary>
      /// <param name="xmlToLoad">Xml string to load.</param>
      void LoadFromXml (string xmlToLoad);

      /// <summary>
      /// Saves any data to xml.
      /// </summary>
      /// <returns>The data to save in Xml format.</returns>
      string SaveToXml ();
   }
}
